package com.xnx3.wangmarket.customer.entity;

import lombok.Data;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

import static javax.persistence.GenerationType.IDENTITY;

/**
 * 模版。
 * 只要是网站中使用过的模版，都会进入此处进行记录。无论是云端模版、用户自己上传的模版、还是私有模版
 * @author Hare
 */

@Data
@Entity
@Table(name = "template")
public class Template implements java.io.Serializable {

	/**
	 * 是公共的
	 */
	public static final Short ISCOMMON_YES = 1;

	/**
	 * 不是公共
	 */
	public static final Short ISCOMMON_NO = 0;

	/**
	 * 资源引用，使用云端模版库的资源，如css、js
	 */
	public static final String RESOURCE_IMPORT_CLOUD = "cloud";

	/**
	 * 资源引用，使用本地的资源文件
	 */
	public static final String RESOURCE_IMPORT_PRIVATE = "private";

	/**
	 * 自动编号
	 */
	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "id", unique = true, nullable = false)
	private Integer id;

	/**
	 * 模版的名字，编码，唯一，限制50个字符以内
	 */
	@Column(name = "name", columnDefinition = "char(50) COMMENT '模版的名字，编码，唯一，限制50个字符以内' default ''")
	private String name;

	/**
	 * 模版添加时间
	 */
	@Column(name = "addtime", columnDefinition = "int(11) COMMENT '模版添加时间'")
	private Integer addtime;

	/**
	 * 此模版所属的用户，user.id。如果此模版是用户的私有模版，也就是 iscommon=0 时，这里存储导入此模版的用户的id
	 */
	@Column(name = "userid", columnDefinition = "int(11) COMMENT '此模版所属的用户，user.id。如果此模版是用户的私有模版，也就是 iscommon=0 时，这里存储导入此模版的用户的id' default '0'")
	private Integer userid;

	/**
	 * 模版的简介，备注说明，限制200字以内
	 */
	@Column(name = "remark", columnDefinition = "char(200) COMMENT '模版的简介，备注说明，限制200字以内' default ''")
	private String remark;

	/**
	 * 模版预览网址，示例网站网址，绝对路径，
	 */
	@Column(name = "preview_url", columnDefinition = "char(200) COMMENT '模版预览网址，示例网站网址，绝对路径' default ''")
	private String previewUrl;

	/**
	 * 模版预览图的网址，preview.jpg 图片的网址
	 */
	@Column(name = "preview_pic", columnDefinition = "char(100) COMMENT '模版预览图的网址，preview.jpg 图片的网址' default ''")
	private String previewPic;

	/**
	 * 模版所属分类，如广告、科技、生物、医疗等
	 */
	@Column(name = "type", columnDefinition = "int(11) COMMENT '模版所属分类，如广告、科技、生物、医疗等' default '0'")
	private int type;

	/**
	 * 模版开发者公司名字。如果没有公司，则填写个人姓名。限制50字符以内
	 */
	@Column(name = "companyname", columnDefinition = "char(50) COMMENT '模版开发者公司名字。如果没有公司，则填写个人姓名。限制50字符以内' default ''")
	private String companyname;

	/**
	 * 模版开发者公司名字。如果没有公司，则填写个人姓名。限制50字符以内
	 */
	@Column(name = "username", columnDefinition = "char(10) COMMENT '模版开发人员的名字，姓名，限制10个字符以内' default ''")
	private String username;

	/**
	 * 模版开发者官方网站、企业官网，如果是个人，则填写个人网站即可
	 */
	@Column(name = "siteurl", columnDefinition = "char(100) COMMENT '模版开发者官方网站、企业官网。如果是企业，这里是企业官网的网址，格式如： http://www.leimingyun.com  ，如果是个人，则填写个人网站即可' default ''")
	private String siteurl;

	/**
	 * 网站模版是否支持手机端, 1支持，0不支持
	 */
	@Column(name = "terminal_mobile", columnDefinition = "tinyint(2) COMMENT '网站模版是否支持手机端, 1支持，0不支持' default '0'")
	private Short terminalMobile;

	/**
	 * 网站模版是否支持PC端, 1支持，0不支持
	 */
	@Column(name = "terminal_pc", columnDefinition = "tinyint(2) COMMENT '网站模版是否支持PC端, 1支持，0不支持' default '0'")
	private Short terminalPc;

	/**
	 * 网站模版是否支持平板电脑, 1支持，0不支持
	 */
	@Column(name = "terminal_ipad", columnDefinition = "tinyint(2) COMMENT '网站模版是否支持平板电脑, 1支持，0不支持' default '0'")
	private Short terminalIpad;

	/**
	 * 网站模版是否支持展示机, 1支持，0不支持
	 */
	@Column(name = "terminal_display", columnDefinition = "tinyint(2) COMMENT '网站模版是否支持展示机, 1支持，0不支持' default '0'")
	private Short terminalDisplay;

	/**
	 * 是否是公共的模版 1是公共的模版， 0不是公共的，私有的，是用户自己开通网站导入的
	 */
	@Column(name = "iscommon", columnDefinition = "tinyint(2) COMMENT '是否是公共的模版 1是公共的模版， 0不是公共的，私有的，是用户自己开通网站导入的' default '0'")
	private Short iscommon;

	/**
	 * 公共模版的排序，数字越小越靠前。
	 */
	@Column(name = "rank", columnDefinition = "int(11) COMMENT '公共模版的排序，数字越小越靠前。' default '0'")
	private int rank;

	/**
	 * wscso模版文件下载的url地址
	 */
	@Column(name = "wscso_down_url", columnDefinition = "char(100) COMMENT 'wscso模版文件下载的url地址' default ''")
	private String wscsoDownUrl;

	/**
	 * zip模版素材包文件下载的url地址
	 */
	@Column(name = "zip_down_url", columnDefinition = "char(100) COMMENT 'zip模版素材包文件下载的url地址' default ''")
	private String zipDownUrl;
	
	/**
	 * js、css等资源引用方式。 cloud：使用云端模版库； private:使用私有模版库，也就是本地的
	 * v4.8更改，已废弃
	 * 再预留两个版本，之后删除
	 * @deprecated
	 */
	@Column(name = "resource_import", columnDefinition = "char(10) COMMENT 'js、css等资源引用方式。 cloud：使用云端模版库； private:使用私有模版库，也就是本地的' default ''")
	private String resourceImport;
}